#ifndef FOREGROUNDSCENE_H
#define FOREGROUNDSCENE_H

#include <QGraphicsObject>

class SceneSensor : public QGraphicsObject
{
    Q_OBJECT
public:
    SceneSensor(QGraphicsObject* parent = 0);
    QRectF boundingRect() const;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
signals:
    void pressed();
protected:
    void mousePressEvent(QGraphicsSceneMouseEvent *event);
};


class ForegroundScene : public QGraphicsObject
{
public:
    ForegroundScene(QGraphicsObject* parent = 0);
    QRectF boundingRect() const;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
};

class InputBlocker : public QGraphicsObject
{
    Q_OBJECT
public:
    InputBlocker( QGraphicsItem *parent = 0 );
    QRectF boundingRect() const;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
public slots:
    void block() { setVisible( true ); }
    void unblock() {  setVisible( false ); }
protected:
    void mousePressEvent( QGraphicsSceneMouseEvent *event );
private:
    int _w, _h;
};



#endif // FOREGROUNDSCENE_H
